home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / business / idex218.zip / INFODEX.1 / INFODEX.REV < prev    next >
Text File  |  1995-09-02  |  68KB  |  1,407 lines

  1.                          Infodex Revision History
  2.  
  3.  
  4. 09-02-95 ■ Version 2.18
  5.  
  6.          . Added the ability for the user to eliminate the text delimiter
  7.            when exporting records.  (Added by user request.)
  8.  
  9.  
  10. 08-22-95 ■ Version 2.17
  11.  
  12.          . Fixed a problem where an error #10164 (Invalid Key Number) would
  13.            occur for every record when an import was attempted.  The
  14.            CurrentSortKey value was not being initialized.  When the
  15.            Add Record routine attempted to reset the sequential pointer
  16.            after the Add operation, (based on the CurrentSortKey value),
  17.            an error message came up stating "Invalid Key Number".  This
  18.            problem was introduced in version 2.15.
  19.  
  20.          . Fixed a problem where the "Decimal Places" field on the
  21.            Edit Control screen was not saving the original value the user
  22.            entered.  (The user could modify the control, which would save
  23.            the value, but the initial value was not being remembered.)
  24.  
  25.  
  26. 07-20-95 ■ Version 2.16
  27.  
  28.          . Improved the printing support to position the fields on the
  29.            report in the same relative location as they appear on the
  30.            screen.
  31.  
  32.          . Fixed a problem in the printing routines where a RunTime Error
  33.            216 could occur if the user attempted to print a record with
  34.            memo field text longer than 255 characters.
  35.  
  36.          . Added drag & drop mouse support on the layout screen to allow
  37.            users to move fields and prompts more easily.  Users can click
  38.            on the field delimiter (if field delimiters are being used, or
  39.            on the field handle, if delimiters are not being used) and drag
  40.            the field to a new location.
  41.  
  42.  
  43. 06-05-95 ■ Version 2.15
  44.  
  45.          . Incorporated updates to newest database code (v5.51).
  46.  
  47.          . Removed the "Initializing Database.  Please Wait..." status
  48.            screen, since the time required for database initialization
  49.            has been drastically reduced.
  50.  
  51.          . Reduced the memory requirements and the time required to
  52.            initialize the database by using the "MinimizeUseOfNormalHeap"
  53.            constant in the BTInitIsam statement.  This should help
  54.            systems which have a limited amount of Extended (or DPMI)
  55.            memory available.
  56.  
  57.          . Reset the sequential record pointer after adding or modifying
  58.            a record.
  59.  
  60.          . Created a literal string unit containing all strings that
  61.            are read from the INI file and used variable references
  62.            instead of literal strings, reducing the chance for typing
  63.            or spelling errors.
  64.  
  65.          . Updated the RTM.EXE and DPMI16BI.OVL files to the newest
  66.            version (6-14-94).
  67.  
  68.          . Increased the lock timeout value for network users.  Now,
  69.            the lock-error retry loop will attempt to complete an
  70.            operation for 1.5 seconds before issuing a retry error.
  71.            (This was increased from a previous value of 0.76 seconds.)
  72.  
  73.          . Added a lock-error retry loop for network users.  This
  74.            loop prompts the user whether or not to retry the current
  75.            operation if it failed due to a locking error.
  76.  
  77.          . Changed the Default Maximum Number of Workstations from
  78.            50 to 250 to allow network licenses of up to 250 users.
  79.  
  80.          . Removed code that directly assigned the Maximum Number of
  81.            Allowed Workstations (MaxNrOfWorkstations) value based on
  82.            the Network Users field.  This value affects the size of the
  83.            dialog (.DIA) file.  Instead, we are limiting access at run
  84.            time based on the number of users accessing the database.
  85.            (Most users should not notice a change.  Registered NETWORK
  86.            users will want to read the "Cautions" section of the
  87.            documentation file.
  88.  
  89.          . Added code to limit the number of network users that may
  90.            access an Infodex database at one time.  Registered network
  91.            users will only be allowed access depending on the number
  92.            of network users in their license.  Non-registered users are
  93.            allowed to have 5 users access the database at one time.
  94.            (This is for evaluation purposes only.  Database record limits
  95.            will still apply for the non-registered version.)
  96.  
  97.          . Changed the default behavior of Infodex after deleting a
  98.            message.  Instead of resetting to the beginning of the database,
  99.            it now advances to the next record.  (If for some reason, it
  100.            cannot access the next record properly, it will then reset to
  101.            the beginning.)
  102.  
  103.  
  104. 04-01-95 ■ Version 2.14
  105.  
  106.          . Added a new installation program that handles compressed
  107.            program files.
  108.  
  109.          . Fixed a problem where F3 was not working properly to change
  110.            the database description, which appeared on the top of the
  111.            editing screen.
  112.  
  113.          . Created a real-mode version (8088 or higher) of Infodex for
  114.            users who are experiencing problem with insufficient extended
  115.            memory.  The protected mode version (standard) will be renamed
  116.            to INFODEXP.EXE, while the real-mode version will become
  117.            INFODEX.EXE.  The real-mode version uses an overlay file, which
  118.            can be loaded into EMS.  This will allow more users (especially
  119.            those with limited extended memory) to use Infodex.
  120.  
  121.            Note: Users who have successfully used Infodex in the past
  122.            without noticing problems will want to use INFODEXP.EXE, while
  123.            those experiencing insufficient memory problems will want to
  124.            try the INFODEX.EXE file.  For complete information about memory
  125.            requirements for each version of the program, see the "Memory
  126.            Requirements" section of the documentation.
  127.  
  128.          . Reworked the status screens to use a common status screen from
  129.            an internal STSI library.
  130.  
  131.          . Removed use of custom exit procedure, which has been found
  132.            to cause intermittent problems with protected mode applications
  133.            under Novell NetWare when using OS/2.
  134.  
  135.          . Fixed a heap leak problem where a large structure was not being
  136.            properly disposed of in the database closing procedure.
  137.  
  138.  
  139. 02-14-95 ■ Version 2.13
  140.  
  141.          . Found and fixed a major problem where deleting a field in
  142.            the database (after the database had been created) could
  143.            cause corruption in subsequent fields of the database.  If
  144.            the field being deleted was the last field in the database,
  145.            this problem would not be noticed.
  146.  
  147.          . Shortened the registration number field on the Register
  148.            Infodex screen to 12 characters.
  149.  
  150.          . Modified the online help system to only open the help file
  151.            when F1 is pressed.  Previously, the help file was open the
  152.            entire time that the program was running.
  153.  
  154.          . Updated database libraries to the newest version.  This
  155.            can cause a noticeable increase in speed, especially when
  156.            rebuilding the database index.
  157.  
  158.          . Changed several of the window and browser drawing routines
  159.            to be taken from our internal libraries.
  160.  
  161.          . Cleaned up several of the display issues when moving controls
  162.            on the layout screen.
  163.  
  164.          . Changed the About box to a standard stAboutBox from our
  165.            internal libraries.
  166.  
  167.          . Updated copyright notices.
  168.  
  169.          . Enabled the use of up and down arrow keys on all dialogs in
  170.            place of the Tab and Shift-Tab keys.
  171.  
  172.          . Fixed a problem where pressing Tab in the search dialog
  173.            pick list did not advance the cursor to the Ok button.
  174.            Also added "Alt-S" support to the pick list to set the focus
  175.            on the search string control.
  176.  
  177.          . Enhanced the printing routines and added a status display
  178.            that allows the user to terminate in the middle of the
  179.            printing process by pressing Escape.
  180.  
  181.          . Added the ability to print all records in the database at
  182.            one time.
  183.  
  184.          . Added a message box to the Previous and Next routines to
  185.            warn the users when the database "wraps" around to the first
  186.            or last message in the database.
  187.  
  188.          . Added a custom exit procedure to be executed in the event
  189.            that a Runtime error occurs.
  190.  
  191.          . Changed the way Infodex looks for the default path.  If a
  192.            "SET INFODEX=" statement is not present in the DOS PATH, it
  193.            then uses the directory where INFODEX.EXE resides as the
  194.            default path.
  195.  
  196.  
  197. 11-08-94 ■ Version 2.12
  198.  
  199.            . Fixed a display problem where the browser's 3-d appearance
  200.              was not evident until the second time it was initialized.
  201.  
  202.            . Began initial coding for importing an Infodex v1.x database,
  203.              using the file ISAMIO.EXE to generate a comma-delimited ASCII
  204.              file which can be imported with Infodex version 2.  (The only
  205.              templates which may not import properly from version 1 are the
  206.              recipes and small notes templates.  Issues related to these
  207.              two templates will be addressed in a future version.  All
  208.              other templates import fine.  Users will need to modify the
  209.              field names for databases that are imported.  Users may also
  210.              desire to modify the default field placement.)
  211.  
  212.            . Decreased the maximum column that fields can extend to by 1.
  213.              This makes sure that fields with delimiters cannot extend
  214.              immediately up to the dividing line.
  215.  
  216.            . Changed the default color of the field delimiters to light
  217.              gray on blue instead of white on blue.
  218.  
  219.            . Fixed a problem where importing a text file could cause
  220.              an error creating the header file.  This occurred because
  221.              the import file had a field that was blank in every record.
  222.              The new code makes sure that each field is at least 1
  223.              character long when creating the new database.  (If the user
  224.              does not want this field present, they can delete it after
  225.              the database has been imported.)
  226.  
  227.            . Added a Notes indicator character (#14) to the end of each
  228.              memo field on the entry screen.  This allows mouse users to
  229.              simply click on the notes character to view or modify the
  230.              contents of the memo field.  Note: The memo field text will
  231.              be shown in read-only mode, unless the record is actually
  232.              being edited.  If the record is being edited, the text can
  233.              be modified as usual.
  234.  
  235.            . Removed an unnecessary color set from code to prepare for
  236.              an eventual global color set.
  237.  
  238.            . Moved the Layout button to the Other Options screen, and
  239.              moved the Print button to the main editing screen to make
  240.              printing features more easily available to users.
  241.  
  242.  
  243. 10-15-94 ■ Version 2.11
  244.  
  245.            . Made the default display length for numeric fields to be
  246.              15, instead of 5, when importing a database, or re-creating
  247.              a missing .INF file.
  248.  
  249.            . Fixed a problem where entering and exiting from Layout mode
  250.              would cause the decimal places value of each numeric field
  251.              to be reset to 0.  Field now retains its original decimal
  252.              places value.
  253.  
  254.            . Added support to allow the user to decide whether or not
  255.              field delimiters should be used.  Added a check box to
  256.              the configuration options screen for this purpose.
  257.  
  258.            . Fixed a minor problem where the UseSaveMode variable
  259.              was not being read from the INFODEX.INI file properly.
  260.              UseSaveMode was always being set to true (which is the
  261.              default).
  262.  
  263.            . Modified code to clean up the process that redraws field
  264.              delimiters when controls are moved around on the layout
  265.              screen.
  266.  
  267.            . Fixed a screen drawing problem on the layout screen where
  268.              some added headers were not being drawn when the screen
  269.              was first displayed.
  270.  
  271.            . Fixed a problem where users could not Delete a record
  272.              from the database.  Problem would appear after new fields
  273.              had been added to or deleted from the database, or after
  274.              record lengths were resized.  When these processes were
  275.              initialized, the AddNulls variable was set to False instead
  276.              of True, causing routines not to add empty keys to the
  277.              index file.  If you are experiencing any problems such as
  278.              this, perform the following steps to correct it:  1.  Copy
  279.              the database files to a separate sub-directory, in case
  280.              something goes wrong.  2.  Erase the index file.  (For
  281.              example, if your database is named 'TEST'(.DAT), erase the
  282.              file TEST.IX.)  3.  Execute Infodex and open the database.
  283.              An error message will occur telling you the index file is
  284.              missing.  When it prompts you to rebuild the file, select
  285.              Yes.  When the rebuilding process is complete, you should
  286.              be able to edit your data file and, if necessary, delete
  287.              records.
  288.  
  289.            . Removed some obscure trouble-shooting code that was left
  290.              over in a reorganization process routine.
  291.  
  292.            . Dramatically increased the speed of searching for the
  293.              first and last records in the database.  A noticeable
  294.              slowdown was apparent on large databases with the old
  295.              method.  The new method is extremely fast.
  296.  
  297.            . Fixed a problem where a RunTime Error #213 would occur
  298.              when attempting to import a database that contained a numeric
  299.              field.  Key creation routine was attempting to access
  300.              an index value that was out of range.
  301.  
  302.            . Disabled I/O checking before attempting to erase and
  303.              recreate the .INF file in the WriteINFFile routine.
  304.              This reduces the chance for errors if the file cannot
  305.              be erased or recreated successfully.
  306.  
  307.            . Fixed a problem where the .INF file was being opened
  308.              before the database was opened, and it was not being
  309.              closed until the database was closed.
  310.  
  311.            . Fixed an incorrect version number displayed on the
  312.              About box.
  313.  
  314.  
  315. 10-11-94 ■ Version 2.10 
  316.  
  317.            . Added a check to warn the user when importing if the
  318.              database filename already exists.  If it does, the user
  319.              has the option of cancelling the operation or continuing
  320.              by overwriting the existing file.
  321.  
  322.            . Fixed a problem in the import routine which did not
  323.              recognize successive commas as representing blank fields.
  324.              Some programs export using a set of empty quotes, while
  325.              others simple put a successive field delimiter.  Infodex
  326.              now recognizes both types.
  327.  
  328.            . Reworked the display of status windows when creating and
  329.              opening a database.  New method displays more windows for
  330.              a lesser period of time, giving the user a better indication
  331.              of exactly what operation is being performed.
  332.  
  333.            . Dramatically increased the speed at which Infodex opens
  334.              an existing database.  (A call to GetFirstRecord was causing
  335.              a significant speed degradation in large data files.  When
  336.              a file is opened, it is automatically located at the first
  337.              record, making this call unnecessary.)  Large databases now
  338.              load extremely fast.
  339.  
  340.            . Added support for importing a delimited ASCII text file.
  341.              (Typically a quote/comma delimited file.)  Infodex adds
  342.              default field names, and supplies a default layout.
  343.              Layout can be easily changed by the user.
  344.  
  345.            . Removed the Print button from the main editing screen
  346.              and replaced it with an "Other" button.  The Other button
  347.              calls up a dialog box with the Print and Export buttons
  348.              displayed.
  349.  
  350.            . Added support for exporting the database records into
  351.              a comma delimited file.
  352.  
  353.            . Added support for monochrome mode by cleaning up the
  354.              existing display for a more attractive appearance.
  355.  
  356.  
  357. 10-01-94 ■ Version 2.06  (Internal BETA Version.  Not Released.)
  358.  
  359.            . Added support to make the data records from Infodex 2.00
  360.              through 2.02 import and create a field layout *similar*
  361.              to the original layout found in these versions.
  362.              (Eventually, a separate conversion unit may be created
  363.              to reduce code size, increasing the likelihood of having
  364.              a Real Mode version.)
  365.  
  366.            . Fixed a problem in the Browser where pressing ESCAPE did
  367.              not always return to the same record that was displayed
  368.              before the Browser was initialized.
  369.  
  370.            . Modified the BuildKey routine to trim the leading spaces
  371.              off of numeric key strings.  This makes it much easier
  372.              for users to search for a numeric value in the database.
  373.  
  374.            . Fixed a problem where the pressing ENTER on a record in
  375.              the Browser screen would not always cause the exact
  376.              record to be displayed.  The Browser was going to the
  377.              first record that started with the key string that was
  378.              highlighted.  Changed routine to make sure an exact match
  379.              was found, return the reference number and move to that
  380.              location in the database file.
  381.  
  382.            . Fixed an obscure problem where trying to Open a non-
  383.              existent file from the Open File screen and then hitting
  384.              escape would cause a couple of error message boxes to
  385.              appear.  Made sure that the selected file exists before
  386.              attempting to do any operations.
  387.  
  388.            . Updated the Delete File routine to make sure that all
  389.              files associated with a database file (.DAT, .IX, .INF,
  390.              .DBH, & .DIA) were being deleted.
  391.  
  392.            . Fixed a problem where the tab and down arrow keys were
  393.              not working when focused on the New button.
  394.  
  395.            . Added a simple error check to make sure a for loop
  396.              cannot be executed on the master field list collection
  397.              if there is not at least one field within the list.
  398.  
  399.            . Moved the writing of the field information from the
  400.              .FLD file to the .INF file.  This eliminates one of the
  401.              files needed for database maintenance and will make the
  402.              transition from an older version of Infodex to a newer
  403.              one much easier.
  404.  
  405.            . Added a "Version=' line to the .INF file to indicate
  406.              the version of Infodex used to create and write the data
  407.              files.  This may be useful in future versions if a
  408.              conversion routine/utility is needed.
  409.  
  410.            . Added commas between the row and column fields on the
  411.              Edit Field screen to better show the user the format.
  412.  
  413.            . Modified the Edit Field screen to protect the Field
  414.              Length control from being modified if the field type
  415.              is a number.  The Display Length should always be set
  416.              long enough to display any number contained in the
  417.              associated field of the database.
  418.  
  419.            . Decreased the allowable decimal places on a numeric
  420.              field from 10 to 4.
  421.  
  422.            . Made sure that memo fields were being trimmed properly
  423.              when a user decreases the length of a memo field.
  424.  
  425.            . Fixed a problem where intermittent hangs would occur
  426.              after changing the size of a field within the record
  427.              layout.  Problem was due to a call to FreeMem using an
  428.              old size parameter.  Moved the FreeMem call to circum-
  429.              vent this problem.
  430.  
  431.            . Created a series of routines to be executed when a user
  432.              resizes an existing database field.  A temporary file is
  433.              created while the process is executed and Infodex restruc-
  434.              tures the existing database fields.
  435.  
  436.            . Increased the speed of the routine that sets the tab
  437.              order when New or Edit is selected from the editing
  438.              screen.  Converted coordinates for each field to a
  439.              string in order to store them in a sorted string array.
  440.  
  441.            . Added an option flag to make sure that all numeric fields
  442.              are right-justified.
  443.  
  444.            . Modified code to allocate enough memory for the maximum
  445.              possible length of a field's displayed width on the screen.
  446.              This will allow users to increase a field's displayed
  447.              length without trashing memory.
  448.  
  449.            . Formatted the display of numeric fields within the browser
  450.              screen so that the formatted string is only as wide as
  451.              the display length for the field, and that the number fits
  452.              accordingly into the allotted length.
  453.  
  454.            . Modified code for the browser screen to make each column
  455.              only as wide as the display length of each field, or the
  456.              header of each field, whichever is larger.  This may
  457.              allow some databases to fit more information within the
  458.              limits of the Browser screen.
  459.  
  460.            . Added a check to make sure that a user cannot create
  461.              a field from the Edit Field dialog box that extends
  462.              past the bounds of the layout area.
  463.  
  464.            . Added a check to make sure that a user cannot enter
  465.              a display length for a field that is greater than the
  466.              actual field length.  If the display length is found to
  467.              be greater, it is set equal to the field length.
  468.  
  469.            . Added code to protect the Decimal Places field on the
  470.              Edit Field dialog box based on the selection of the
  471.              field type.  The Decimal Places field should only be
  472.              accessible if the field type is a numeric field.
  473.  
  474.            . Fixed a problem where the field type control on the
  475.              Edit Field dialog box was being protected, even if the
  476.              user was trying to add a new control to an existing
  477.              database.
  478.  
  479.            . Added a Title Bar Display section to the Register
  480.              Infodex screen to allow registered users to customize
  481.              the display on the Infodex title bar.  Added the new
  482.              variable to the INFODEX.INI file.
  483.  
  484.  
  485. 09-25-94 ■ Version 2.05  (Internal BETA Version.  Not Released.)
  486.  
  487.            . Added support for a "Decimal Places" field on the Edit
  488.              Field dialog box.  Implemented support for this feature
  489.              when adding numeric fields to the editing screen.
  490.  
  491.            . Added code to protect the field type control on the
  492.              Edit Field dialog box after a database is created.  This
  493.              is done to make sure that users cannot attempt to change
  494.              a character field to a numeric field, (and similar scenarios)
  495.              which would cause corruption of the database.
  496.  
  497.            . Added a procedure to dynamically change the tab order,
  498.              based on the layout of the fields within the layout dialog
  499.              box.  The tab order will start at the top left, move to
  500.              any field directly to its right, and then go to the next
  501.              line and repeat the process.
  502.  
  503.            . Added a line of text to the top line of the Infodex back-
  504.              ground screen that displays either 1) the registration
  505.              name of the REGISTERED user, or 2) the text "UNREGISTERED
  506.              Version" if the user has not yet registered Infodex.
  507.  
  508.            . Changed the order of the initialization code to make
  509.              processing the path to Infodex and reading the file
  510.              INFODEX.INI the first two tasks.
  511.  
  512.            . Removed unnecessary procedure declaring new instances of
  513.              pointers.  These pointers (which contain the record data)
  514.              are allocated using GetMem later in the program.
  515.  
  516.            . Made sure that controls added to the layout screen are
  517.              added as read-only, to prevent the modification of the
  518.              displayed data.
  519.  
  520.            . Modified code to automatically increment the new row field
  521.              when adding a control to the layout screen, based on the
  522.              current number of editing fields on the screen.
  523.  
  524.            . Modified code to make the focus return to the first editing
  525.              field on the layout screen after a user selects one of the
  526.              move buttons or selects Cancel when attempting to add
  527.              a new control.
  528.  
  529.            . Fixed a problem where the EqualRec routine was returning
  530.              the value of False each time it was called, even if the
  531.              two records should have compared.  When editing a record,
  532.              if no changes had been made and the user pressed Escape,
  533.              Infodex would prompt to save the changes.  Added code to
  534.              compare each field in the old and new records individually,
  535.              instead of using a structural compare.
  536.  
  537.            . Removed tab order field from the edit control dialog
  538.              box.  Although the tab order is still maintained within
  539.              each field record, it is not used at this time.
  540.  
  541.            . Fixed a problem where a changing a field name on the
  542.              layout screen did not always redraw properly.  If the
  543.              new name was shorter than the old name, "left-over"
  544.              characters would still be displayed.  Modified code to
  545.              pad all field names to 15 characters, both on the layout
  546.              and actual editing screens.
  547.  
  548.            . Fixed a problem on the search screen where the dialog
  549.              box would not be initialized properly if the search field
  550.              pick list had less than 4 or 5 items in it.  Added
  551.              commands to make sure that the pick list was initialized
  552.              to its full height, allowing the scroll bars to be added
  553.              properly.
  554.  
  555.            . Hid the display of the Cancel button on the layout screen
  556.              when modifying an existing database's layout.  Due to
  557.              the restructuring of added or deleted fields when modifying
  558.              the layout, users must select Done instead.
  559.  
  560.            . Added the capability for users to delete a field from
  561.              the layout screen after a database has been created.
  562.              The database is automatically reorganized to delete
  563.              the proper field.  Fields can be deleted from anywhere
  564.              within the record structure.
  565.  
  566.  
  567. 09-23-94 ■ Version 2.04  (Internal BETA Version.  Not Released.)
  568.  
  569.            . Fixed a problem where a reorganization of the database
  570.              after adding a numeric field was causing the database
  571.              to be corrupted.  The offset of the numeric field was
  572.              one byte too large.
  573.  
  574.            . Added support for users to add a field to the layout
  575.              screen after a database has been created.  The database
  576.              is automatically reorganized to add a new field of the
  577.              type specified.  The field is automatically added to the
  578.              end of the record structure.
  579.  
  580.            . Added support for Infodex to erase the old editing screen
  581.              and redraw a new one when the Layout of the screen has
  582.              been changed.
  583.  
  584.            . Added a Layout button to the main database editing screen
  585.              to allow users to modify the layout of the fields at any
  586.              time after a database has been originally created.
  587.  
  588.            . Added a command to clear each editing field on the create
  589.              new database screen each time a character is entered as
  590.              the first character when a field receives the focus.
  591.  
  592.            . Eliminated redundant number displays in front of each
  593.              field on the create new database screen.
  594.  
  595.            . Changed the "Prompt" text on the top of the create
  596.              new database screen to display "Field Name", "Type",
  597.              and "Length".
  598.  
  599.            . Added a status window when Infodex attempts to open
  600.              an existing database or create a new database.  If
  601.              the time delay is substantial, this will inform the
  602.              user what is happening.
  603.  
  604.  
  605. 09-10-94 ■ Version 2.03  (Internal BETA Version.  Not Released.)
  606.  
  607.            . Made sure that the sum of all field lengths was not
  608.              longer than 65530 characters when creating a new template.
  609.              In order to store records, they must be less than 64K.
  610.  
  611.            . Made sure that users could not create a character field
  612.              less than 1 or greater than 254 characters long when
  613.              creating a new template.  Also made sure that memo fields
  614.              were within the boundaries of 1 to 65530.
  615.  
  616.            . Moved the command that closes the header file to complete
  617.              this operation immediately after the fileblock is opened.
  618.              This should reduce the chance of conflicts in network
  619.              situations.
  620.  
  621.            . Added commands to free any memory within the Done
  622.              destructor that had been dynamically allocated to contain
  623.              the record data.
  624.  
  625.            . Fixed a typo on the registration nag screen that stated
  626.              that Infodex was $29.95, when the actual price was
  627.              $34.95.
  628.  
  629.            . Made sure that Infodex was accurately warning a user
  630.              who wanted to stop editing the current record without
  631.              saving his/her changes.
  632.  
  633.            . Added the ability to print the first 256 characters of
  634.              a memo field on a printout.  Infodex now issues a page
  635.              break between each record.
  636.  
  637.            . Removed ability to View templates.  Since the user can
  638.              now create templates dynamically, this feature is no
  639.              longer needed.
  640.  
  641.            . Fixed a problem where selecting a record from the Browser
  642.              screen after a search process would not always find the
  643.              correct record.  (Code was set to search for selected
  644.              text based on the first key field, instead of the current
  645.              key field.)
  646.  
  647.            . Changed the search screen to display a pick list contain-
  648.              ing all of the indexed fields, instead of displaying a
  649.              collection of radio buttons.  Users can select one field
  650.              from the pick list to search for the specified Search
  651.              String.
  652.  
  653.            . Removed display sections ([ ]) on the status line at the
  654.              bottom of the screen.  Since a database can have several
  655.              memo (notes) fields, a Notes indicator is not necessary
  656.              or practical.  The other two fields (Read-Only indicator
  657.              and Status indicator) were not being used.
  658.  
  659.            . Lengthened the Nested Field display for memo fields out
  660.              to the maximum size allowable.  This gives users a good
  661.              visual indication of what text is maintained within the
  662.              first 50 (approx.) characters of the memo field.
  663.  
  664.            . Made a prompt width of 15 the standard for field prompts.
  665.              This should allow enough room for most field names, while
  666.              keeping it short enough to allow sufficient room for data
  667.              entry fields.
  668.  
  669.            . Modified the routine that changes the Database descrip-
  670.              tion.  The entire template does not need to be redrawn
  671.              when the description is changed.  The title is simply
  672.              updated on the main dialog box.
  673.  
  674.            . Removed the Notes button from the right side of the
  675.              editing dialog box.  Notes fields (a.k.a. Memo fields)
  676.              can now be edited by pressing ENTER on the nested Notes
  677.              fields located inside of the editing area.
  678.  
  679.            . Added support for Infodex to read files created with
  680.              versions 2.00 through 2.02.  (Included in this code is
  681.              a translation/cleanup procedure for the notes fields
  682.              contained in the old databases.  Apparently, some
  683.              corruption was contained on the end of the Notes field
  684.              text when it was being edited, even though it was not
  685.              visible.  When the databases are imported into this
  686.              new version, the corruption should be removed.)
  687.  
  688.            . Added the capability for Infodex to create a database
  689.              dynamically, based on data that the user enters.  Users
  690.              can specify that they want to create alphanumeric fields,
  691.              numeric fields, or memo fields.
  692.  
  693.  
  694. 08-19-94 ■ Version 2.02
  695.  
  696.            . Added support to read "The High-Tech Trader" data
  697.              files created by The Bertha BBS.  These data files
  698.              contain computerized "classified ads" to allow buyers
  699.              and sellers to place and respond to product ads.  To
  700.              download the latest classified ads from The High-Tech
  701.              Trader, call The Bertha BBS at (218) 924-2060.
  702.  
  703.  
  704. 06-21-94 ■ Version 2.01
  705.  
  706.            . Fixed a problem where a RunTime Error #216 (general
  707.              protection fault) would occur when closing a database
  708.              file if the user had modified the database description
  709.              or field names during the session.  This problem did
  710.              not cause data loss.  Problem was caused by referencing
  711.              a nil pointer.
  712.  
  713.  
  714. 05-26-94 ■ Version 2.00
  715.  
  716.            . Released to the general public.
  717.  
  718.  
  719. 05-25-94 ■ Version 1.60  (Internal Revision - Not Released)
  720.  
  721.            . Fixed intermittent problem with the Help system.  Calling
  722.              up the Help Topic Index would not always allow a topic to
  723.              be selected for viewing.
  724.  
  725.            . Added a check to the Cancel Edit routine to compare whether
  726.              or not the user has made any changes to the record before
  727.              asking them if they want to save the changes.  If no changes
  728.              have been made, the Cancel procedes without querying the
  729.              user.
  730.  
  731.            . Modified code to make the Template Dialog (editing screen)
  732.              global to the Master Template Object, rather than a local
  733.              variable that is passed between procedures.
  734.  
  735.            . Added support for the Ctrl-PgUp key combination to trigger
  736.              a call to get the first record in the database and for the
  737.              Ctrl-PgDn key combination to trigger a call to get the
  738.              last record in the database.  Also added support for using
  739.              the F10 key to save the current record.
  740.  
  741.            . Modified notes field code to only initialize (create) the
  742.              notes field once each time a database is created or opened,
  743.              and the notes text is reinitialized when the Notes field
  744.              is viewed or edited.
  745.  
  746.            . Moved mouse close-box handling for the editing template
  747.              to a post-edit routine to handle events based on whether
  748.              the template is in Protected mode or not.
  749.  
  750.            . Removed support for /DEBUG mode.  New object-oriented
  751.              fileblock handling does not directly support this feature.
  752.  
  753.            . Added support for the browser screen to move the high-
  754.              light bar to the first record matching the letter typed
  755.              by the user.
  756.  
  757.            . Fixed a problem in the search routine where the browser
  758.              would be initialized even in the event that there were
  759.              no records matching the specified search string.  Added
  760.              an additional check to make sure that the search string
  761.              was located within the current key string after the
  762.              search process was completed.
  763.  
  764.            . Added a status routine to the rebuild procedure as an
  765.              activity indicator for the user.
  766.  
  767.            . Fixed a problem where the sequential pointer was not
  768.              being reset properly after selecting a record from the
  769.              browser.  This would cause a Next or Previous operation
  770.              to fail, bringing up an inaccurate record.
  771.  
  772.            . Turned off word-wrapping in the notes fields.
  773.  
  774.            . Moved the RebuildData routine from each individual template
  775.              into the RebuildDataFile routine in the Master Template
  776.              Object to reduce code size.  This was made possible by
  777.              using the new object-oriented database routines.
  778.  
  779.            . Fixed a problem where the Rebuild process was generating
  780.              an Error #10125, ("Key Too Long") when attempting to
  781.              rebuild STSI's software database.  This problem occurred
  782.              because the length of the notes field had been changed
  783.              after the database was originally created.  Changed the
  784.              size of the software database notes field back to 2048
  785.              bytes.
  786.  
  787.            . Converted notes fields in all templates from Asciiz
  788.              strings to individual character strings.  This allows
  789.              the use of different size notes fields for each template.
  790.              A list of note field sizes will be posted in the documenta-
  791.              tion file.
  792.  
  793.            . Fixed a problem where an error "RecordType Not Defined"
  794.              was occuring after creating a new database.  This problem
  795.              was caused when a parent object's virtual method did
  796.              not appear to be overridden, even though it was.  (Problem
  797.              was related to VMT's in the parent object's constructors.)
  798.  
  799.            . Eliminated use of the 3rd variable (Temporary) for each
  800.              instance of a template object.  The new object-oriented
  801.              database routines do not require this variable.
  802.  
  803.            . Reworked code to use object-oriented database manage-
  804.              ment routines.  Moved several more routines into the
  805.              Master Template Object to simplify the code.
  806.  
  807.            . Moved the OpenFile, CreateFile, CloseFile, and
  808.              RebuildFile routines into the Master Template Object
  809.              to simplify the code.
  810.  
  811.  
  812. 05-18-94 ■ Version 1.50  (Internal Revision - Not Released)
  813.  
  814.            . Added a pre-defined limit for the number of records that
  815.              non-registered users may add to a database.  Limit is
  816.              currently set at 50 records.
  817.  
  818.            . Added support for an integrated context-sensitive help
  819.              system.
  820.  
  821.            . Added a "BBS Sysop" field to both of the BBS templates.
  822.  
  823.            . Fixed a problem where the Database Description was not
  824.              being reset when a database was closed, causing it to
  825.              be displayed on the top of the View Template screen.
  826.  
  827.            . Cleaned up the SetupSearchDefaults routine to pass a
  828.              string-array back filled with the appropriate field names.
  829.              Eliminated the need to set Y coordinates and a NumStrings
  830.              variable.
  831.  
  832.            . Fixed a problem where the View Template miniature dialog
  833.              box could not be moved.  Added a command to handle any
  834.              move events.
  835.  
  836.            . Added a fill character to be displayed in the data fields
  837.              when the user views a template.  This allows the user to
  838.              see the length of each field in the template.
  839.  
  840.            . Changed the template list sub-menus into one common
  841.              pick list.  When the Create or View options are selected,
  842.              the pick list is repositioned.  This allowed the addition
  843.              of a scroll bar and mouse support for the scroll bar.
  844.  
  845.            . Modified printing routine to only go to the first record
  846.              after the printing process if the database was printed
  847.              successfully.  If Cancel is selected, the database will
  848.              stay on the current record.
  849.  
  850.            . Added a confirmation message box when users press
  851.              Escape or click the right mouse button when they are
  852.              editing a record.  Message box queries whether or not
  853.              the user wants to save the changes to the current record
  854.              before exiting the editing process.
  855.  
  856.            . Modified browser rows to display two blank characters
  857.              between each column.
  858.  
  859.            . Added a status window when Infodex initializes the
  860.              database manager, to inform the user what is happening.
  861.  
  862.            . Increased the pad width for the Search Fields listed on
  863.              the Search dialog box from 23 to 30.
  864.  
  865.            . Added support for a startup database file to be written
  866.              to the INFODEX.INI file.  When Infodex is executed, it
  867.              checks this file to automatically load a default database.
  868.              If a command line option (filename) is specified, it will
  869.              override the startup database file.
  870.  
  871.            . Set up temporary variables on screens where the settings
  872.              of the INI file are modified to make sure that the
  873.              settings are not modified directly.  Settings are updated
  874.              to the actual variables only when Ok is selected.
  875.  
  876.            . Created destructors for each of the template objects.
  877.  
  878.            . Completed the printing dialog box to allow users to
  879.              specify which port or filename to send output to.
  880.  
  881.            . Added the ability to add and modify a database description
  882.              for each database created.  This description will appear
  883.              at the top of the template during the editing process.
  884.  
  885.            . Fixed a problem in the View Template routine where the
  886.              dialog boxes were not being drawn and displayed.
  887.  
  888.            . Added Generic Template #1, which contains 18 fields of a
  889.              45 character length string, along with a notes field.
  890.              Added the capability for the user to change the field
  891.              names dynamically.
  892.  
  893.            . Adjusted the AutoRepeatTicks and AutoDelayTicks settings
  894.              to change the rate at which the mouse repeats after an
  895.              initial click and after an auto-repeat click.  Set
  896.              AutoRepeatTicks to 2, and set AutoDelayTicks to 18.
  897.  
  898.            . Fixed a problem where an Isam Error # 10210 would occur
  899.              when attempting to create a new database.  The error
  900.              would state that the specified key could not be found,
  901.              due to the fact that the FindRecord routine is executed
  902.              when the database is opened.  Fixing this problem also
  903.              fixed another glitch where two error messages would be
  904.              issued if a search string could not be found during the
  905.              search process.
  906.  
  907.            . Modified code in the stTVZifChoiceBox routine to
  908.              display the dialog box in 3-D mode, using an out-dented
  909.              look.
  910.  
  911.            . Fixed a problem in the ModifyRecord routine that was
  912.              causing Infodex to hang in the middle of this routine.
  913.              Although a new temporary pointer (to a byte) had been
  914.              created, it had not been defined as pointing to a
  915.              variable (object).  Created a new global object and
  916.              pointer, and defined it as pointing to the new global
  917.              object.  (This problem was not consistent, but occurred
  918.              the most often after the Notes field was accessed.)
  919.  
  920.            . Increased size of Notes field in each template to
  921.              2K (2048 bytes).
  922.  
  923.            . Added support to all templates for report printing.
  924.              (All records only)
  925.  
  926.            . Modified code in the Browser to allow the user to
  927.              press Escape without changing the current record that
  928.              was being viewed prior to initializing the Browser.
  929.              The only time the record will change is if the user
  930.              presses ENTER or selects a record with the left-mouse
  931.              button.
  932.  
  933.  
  934. 04-26-94 ■ Version 1.40  (Internal Revision - Not Released)
  935.  
  936.            . Fixed a problem where the command line parameters were
  937.              not properly loading a file when /DEBUG was also speci-
  938.              fied on the command line.
  939.  
  940.            . Added a "Please Wait" window to the Open and Delete file
  941.              routines to notify the user that Infodex is reading the
  942.              current directory.  This process can take a little while
  943.              to complete on large directories.
  944.  
  945.            . Added a "Please Wait" window to the Rebuild Index File
  946.              process to notify the user that activity is taking place.
  947.  
  948.            . Added support for a command line switch called /DEBUG
  949.              to dynamically enable use of extra commands to
  950.              lock and unlock the records and the database for testing
  951.              purposes only.
  952.  
  953.            . Added code to allow Infodex to automatically "remember"
  954.              the coordinates of the Browser from the last time it was
  955.              used.  These coordinates are stored in the .INF file and
  956.              read each time a database file is loaded from disk.
  957.  
  958.            . Added an error message that informs the user that the
  959.              filename specified on the command line does not exist.
  960.  
  961.            . Fixed a problem where pressing Escape on the Open File
  962.              screen would produce an error message that the filename
  963.              did not exist.
  964.  
  965.            . Changed the wording of the "Use Save Mode" option on
  966.              the configuration options screen to be more understand-
  967.              able.
  968.  
  969.            . Rewrote the AddRecord, DeleteRecord, and ModifyRecord
  970.              routines to lock the database before attempting to make
  971.              any changes.
  972.  
  973.            . Fixed a problem where the current record number was not
  974.              being properly set when the user pressed ENTER or Escape
  975.              on the browser screen.  This caused the record pointer to
  976.              not be set properly, causing problems when attempting to
  977.              search for or delete records.
  978.  
  979.            . Added a warning message box to users to change the
  980.              value of the Network Users field during Infodex.  Since
  981.              this value can only be initialized when Infodex is
  982.              initially started, Infodex must be exited and restarted
  983.              in order for the new value to be used.
  984.  
  985.            . Converted the Network Users field to a numeric field
  986.              internally, and specified a possible range between 0
  987.              and 65535.
  988.  
  989.            . Added a close box to the browser screen to allow mouse
  990.              users to quickly close the browser.
  991.  
  992.            . Added support for a refresh delay field on the configura-
  993.              tions options screen to allow users to specify the amount
  994.              of time before the screen should be updated with any
  995.              changes made to the current record on other workstations
  996.              on a network.
  997.  
  998.            . Implemented changes in libraries and recompiled program.
  999.  
  1000.            . Added a configuration options screen to allow users to
  1001.              specify a network type and whether or not Save Mode
  1002.              should be used when working with files.
  1003.  
  1004.            . Set minimum and maximum size limits for the Notes field
  1005.              of each template to prevent redraw problems that would
  1006.              occur when the width was reduced to less than 10 (approx.)
  1007.              characters in size.
  1008.  
  1009.            . Fixed a problem where the RebuildDataFile routine was not
  1010.              working properly.  Since this routine was calling the
  1011.              BuildKey routine with an untyped var parameter, the var
  1012.              parameter could not be set up with a .Init constructor,
  1013.              which is mandatory for an object with virtual methods.
  1014.              Removed the BuildKey virtual method from the object and
  1015.              placed it separate, so it would not be mandatory to call
  1016.              the .Init constructor before-hand.
  1017.  
  1018.            . Added the ability for Infodex to "remember" the position
  1019.              of the notes field for each separate database created by
  1020.              the user.  This allows users to position the notes field
  1021.              in their favorite spot, customizing it to their individual
  1022.              tastes.
  1023.  
  1024.            . Fixed a problem where pressing the Escape key while
  1025.              the Search screen was open would cause one or more
  1026.              error messages to appear.  This problem was due to a
  1027.              missing begin-end statement set.
  1028.  
  1029.            . Added a horizontal scroll bar to the browser to allow
  1030.              users to use the mouse for horizontal scrolling.
  1031.  
  1032.            . Modified code to make the hotkeys on the Search screen
  1033.              Yellow On Blue instead of White On Blue.
  1034.  
  1035.            . Decreased the initial height of the Browser by 2 lines.
  1036.  
  1037.            . Fixed a problem where the program would terminate or
  1038.              hang when attempting to compare a duplicate record to
  1039.              an original record.  The duplicate record (object) was
  1040.              not being initialized with a call to Init.
  1041.  
  1042.            . Fixed a problem where the browser would place an at (@)
  1043.              symbol in the first field of the database if it
  1044.              attempted to get a blank or non-existent record from
  1045.              the browser listing.  If an error occurs, Infodex will
  1046.              reset the database to the first record.
  1047.  
  1048.            . Fixed a problem where the headers within the browser
  1049.              were not starting on the same column as the data
  1050.              positioned below them.
  1051.  
  1052.            . Added hot-keys to the radio buttons located on the
  1053.              search screen to allow users to access needed fields
  1054.              more rapidly.
  1055.  
  1056.            . Expanded the information displayed in the Browser by
  1057.              including all fields that serve as index keys.  The
  1058.              extra fields are on the right side of the browser, and
  1059.              can be accessed by using the arrow keys.  They do not
  1060.              immediately show up in order to keep the display as
  1061.              tidy as possible.
  1062.  
  1063.            . Modified code to display all records found within the
  1064.              Browser when a search routine is executed.
  1065.  
  1066.            . Added complete error checking and processing for all
  1067.              errors generated by the database functions.
  1068.  
  1069.            . Modified code for the common template to disable
  1070.              the ability to allow the user to move the dialog box
  1071.              around on the screen.  The template should be non-
  1072.              moveable.
  1073.  
  1074.            . Dramatically re-arranged code to create a master
  1075.              template object, which allows new objects (templates)
  1076.              to be created from the master template.  New code
  1077.              uses virtual methods to override the master template
  1078.              methods.  If a parent method is called by accident, a
  1079.              "RecordType Not Defined ..." error message will appear,
  1080.              indicating the source of the problem.
  1081.  
  1082.            . Modified code to select the current record from the
  1083.              Browsing window, even if Escape is pressed or the
  1084.              right mouse button is clicked.
  1085.  
  1086.            . Placed the code for the Browsing window on the heap
  1087.              instead of the stack to conserve stack space.
  1088.  
  1089.            . Modified code to continue executing the main Infodex
  1090.              program instead of terminating it if the Browsing window
  1091.              could not be initialized.
  1092.  
  1093.  
  1094. 04-16-94 ■ Version 1.30  (Internal Revision - Not Released)
  1095.  
  1096.            . Added code to display a confirmation box when the user
  1097.              presses Escape or clicks the right mouse button.  If
  1098.              the record is being edited, a Cancel (Cancel-Edit) command
  1099.              is issued.  If the record is not being edited, a dialog
  1100.              box appears to confirm that the user wants to close the
  1101.              database file.
  1102.  
  1103.            . Fixed a problem where the separator bars on the main
  1104.              menu were not being connected properly to the right
  1105.              side of the menu frame.
  1106.  
  1107.            . Added automatic detection to the Notes fields to deter-
  1108.              mine whether or not the text has been modified.  Infodex
  1109.              will only prompt to Save Note if the text has changed.
  1110.  
  1111.            . Added a dialog box to ask the user if the entire record
  1112.              should be saved after the Notes field has been edited
  1113.              and saved.
  1114.  
  1115.            . Removed the OpenFile routine from the overlaid section
  1116.              of the code.  This routine was causing spurious errors
  1117.              and program termination when it was contained in the
  1118.              overlaid section of the code.
  1119.  
  1120.            . Added initial support for overlays.  Overlaid about
  1121.              10K of program code.
  1122.  
  1123.            . Added initial code to support printing reports using
  1124.              form-type layouts.
  1125.  
  1126.            . Added a Print button to the main template to allow
  1127.              users to print records within a database.
  1128.  
  1129.            . Added key support to allow users to press enter on a
  1130.              record in the browser, causing the record to be shown
  1131.              on the editing screen.
  1132.  
  1133.            . Added a browsing screen to allow users to browse
  1134.              for one or more records in the database.
  1135.  
  1136.            . Changed the filenames of the template files to
  1137.              reflect the template name.  Changed all internal
  1138.              variable and command names to match the template
  1139.              name.
  1140.  
  1141.            . Corrected a problem where button invisibility was
  1142.              not being handled properly.
  1143.  
  1144.            . Fixed a problem where an Isam error #9903 (File Not
  1145.              Found) was occurring when Infodex attempted to open a
  1146.              file from another directory.  Added a full path to
  1147.              the front of the filename that is being opened and
  1148.              created by the Isam routines.
  1149.  
  1150.            . Modified the date fields for the Insurance template to
  1151.              be stored in a 00-00-0000 format.
  1152.  
  1153.            . Created a specialized command processor table for
  1154.              handling template commands.  This fixed a problem where
  1155.              adding commands to the default table at run time would
  1156.              cause the Up arrow key, Down arrow key, and other keys
  1157.              to trigger exit commands from dialog boxes other than
  1158.              the user templates.
  1159.  
  1160.            . Decided to make all templates the same dimensions,
  1161.              allowing for easier consistency within the code.
  1162.  
  1163.            . Modified code to allow command button to be placed
  1164.              on top of each other when there are visible.  In order
  1165.              to work around a programming bug, added a simple blue-
  1166.              on-blue frame to cover up disabled controls that should
  1167.              have been made invisible.  Controls that are still
  1168.              enabled automatically come to the front.  This allows
  1169.              the Save and Cancel buttons to be placed in the same
  1170.              location as non-edit buttons, and only be displayed
  1171.              when needed.
  1172.  
  1173.            . Modified code that writes text to the hint line to
  1174.              only change the header text on the bottom row, instead
  1175.              of adding a new header each time a change was made.
  1176.              This speeds up the writing process and reduces the
  1177.              snow and other writing that is displayed in this area.
  1178.  
  1179.            . Added support to rebuild the index (.IX) file in the
  1180.              event that it is erased or corrupted.
  1181.  
  1182.  
  1183. 04-10-94 ■ Version 1.20  (Internal Revision - Not Released)
  1184.  
  1185.            . Fixed a problem where the Notes indicator was being
  1186.              displayed on the BackDrop hint line, even if the notes
  1187.              field was blank.  This problem occurred on every template,
  1188.              except the main Business template.  The Business Notes
  1189.              field was being referenced at all times, instead of
  1190.              changing based on the actual template.  Also, the Notes
  1191.              field was being referenced as a 1-based array, instead
  1192.              of a 0-based array, which is required for Asciiz types.
  1193.  
  1194.            . Fixed problem where the cursor was not being restored
  1195.              after Infodex was exited.
  1196.  
  1197.            . Modified the EraseTemplateFields routine to use the
  1198.              FillChar method to empty the entire contents of the
  1199.              record, instead of setting each individual field to a
  1200.              blank value.
  1201.  
  1202.            . Changed the size of the buffer that is allowed when
  1203.              editing a Notes field to be the exact size of Asciiz
  1204.              string that is passed into the procedure.
  1205.  
  1206.            . Modified code to display the user's registration name
  1207.              on the About screen.  If Infodex is unregistered, a
  1208.              registration reminder will be displayed.
  1209.  
  1210.            . Created a procedure to automatically draw STSI's
  1211.              distinctive backdrop using any text string.
  1212.  
  1213.            . Added a bracketed display to the lower right corner of
  1214.              the hint line to inform users whether or not the Notes
  1215.              field contains any data for the current record.  When
  1216.              the 'N' character appears between the brackets, the
  1217.              notes field contains data.  If the character field is
  1218.              blank, the notes field is empty.
  1219.  
  1220.            . Added code to differentiate between adding a new record
  1221.              and modifying an existing record.  Enhanced trapping
  1222.              of the PgUp, PgDn, Ctrl-Home, and Ctrl-End keys to
  1223.              prevent users from moving between records while editing
  1224.              a record.
  1225.  
  1226.            . Added a dialog box with a "Done" command button to the
  1227.              View A Template screens to allow users to view the
  1228.              template and select Done with the mouse or the keyboard
  1229.              when they are finished.
  1230.  
  1231.            . Added support to read the name of an existing database
  1232.              file from the Infodex command line.  When Infodex reads
  1233.              the command line, it checks for the existence of this
  1234.              file, and if it exists, loads it using the proper template.
  1235.  
  1236.            . Added support for the ModifyRecord routine to modify
  1237.              changed records when they have changed from the original.
  1238.  
  1239.            . Fixed drastic problems with pointers to note fields.
  1240.              Changed all Ascii-z pointer strings to non-pointer
  1241.              Ascii-z strings.  It appears as though the pointer
  1242.              was actually being stored in the data file, rather
  1243.              than the ascii-z string.  Modified routines to
  1244.              accommodate the difference in data types.
  1245.  
  1246.            . Fixed a problem where selecting Cancel on the Search
  1247.              dialog box would produce an error message that the
  1248.              search string was not found.  Modified code to only
  1249.              attempt the search process if Ok is selected from the
  1250.              Search dialog box.
  1251.  
  1252.            . Fixed a problem where the error message "Search String
  1253.              Not Found." would appear when first creating a database
  1254.              or opening an empty database.
  1255.  
  1256.            . Added a "View A Template" option to the Infodex Settings
  1257.              menu to allow users to view any of the available
  1258.              templates without actually creating a database.
  1259.  
  1260.            . Added a confirmation dialog box to the Delete record
  1261.              routine to make sure that records are not mistakenly
  1262.              deleted by the user.
  1263.  
  1264.            . Added user exit commands for the editing fields on each
  1265.              template to allow users to use the down and up arrow keys
  1266.              to go to the next or previous field, respectively.  Also
  1267.              added special commands to allow the PgUp, PgDn, Ctrl-Home,
  1268.              and Ctrl-End keys to go to the previous, next, first, and
  1269.              last records, respectively.
  1270.  
  1271.  
  1272. 04-06-94 ■ Version 1.10  (Internal Revision - Not Released)
  1273.  
  1274.            . Repositioned menus to be centered when a sub-menu is
  1275.              opened beside the main menu.
  1276.  
  1277.            . Added Delete An Existing Database option to the main
  1278.              menu to allow users to delete a previously created
  1279.              database.  This option deletes the selected database
  1280.              file (.DAT), as well as the accompanying files (.IX and
  1281.              .INF) files.
  1282.  
  1283.            . Added About Infodex option to the main menu.  Added
  1284.              Registration Information option to the main menu to
  1285.              display the terms and conditions for use of Infodex.
  1286.  
  1287.            . Added support for a searching function to locate
  1288.              records based on any of several keys defined for each
  1289.              template.  This search function is currently case-
  1290.              insensitive.
  1291.  
  1292.            . Added a common unit to contain all of the template-
  1293.              specific code.  This makes adding a new template much
  1294.              easier, leaving less room for error.
  1295.  
  1296.            . Lengthened the Company Name field on the Business
  1297.              template to accomodate longer company names.
  1298.  
  1299.            . Added code to display the total records on the bottom
  1300.              line of the screen.
  1301.  
  1302.            . Added support for Library and Insurance templates.
  1303.  
  1304.            . Changed heading on Notes field to be generic, instead
  1305.              of having a specific heading for each template type.
  1306.  
  1307.            . Fixed a problem where the First and Last routines
  1308.              were not working properly.  Record "wrapping" was
  1309.              necessary.
  1310.  
  1311.            . Modified routine to center the template header over
  1312.              the data fields, rather than the entire dialog box.
  1313.  
  1314.            . Added routine to create a generic backdrop, with a
  1315.              mathematical formula of shifting.  This fixed a problem
  1316.              where the text on the right side of the backdrop was
  1317.              one character too close to the edge.
  1318.  
  1319.            . Added routines to read and write a .INF file for each
  1320.              database created with Infodex.  This allows Infodex
  1321.              to read the .INF file to determine which template should
  1322.              be used when opening an existing file.
  1323.  
  1324.            . Initialized the bottom line of the backdrop as a help
  1325.              line to optionally offer hints or display the copyright
  1326.              information status.  This line will also be used as the
  1327.              memo status line and the status for the number of records
  1328.              contained in the database.
  1329.  
  1330.            . Database files created by the new version of Infodex
  1331.              will have .DAT extensions for data files and .IX
  1332.              extensions for the corresponding index files.
  1333.  
  1334.            . Added a dialog box to allow users to enter a filename
  1335.              when creating a new database.
  1336.  
  1337.            . Added 3-D appearance to all menus and dialog boxes.
  1338.  
  1339.            . Rewrote Infodex in a new programming language.  Added a
  1340.              stylish background with a new style of menuing system.
  1341.              Created a default template layout with command buttons
  1342.              to be used for all future templates.  Created Business,
  1343.              Personal, and Software templates.
  1344.  
  1345.  
  1346.  
  1347. 12-30-93 ■ Version 1.02
  1348.  
  1349.            . Rearranged procedures for unloading forms and closing
  1350.              the database.
  1351.  
  1352.            . Added a command to flush the keyboard after the user
  1353.              presses a key at the welcome and/or logo screens.  The
  1354.              keypress would be passed to the data entry screen if command
  1355.              line parameters were being used.
  1356.  
  1357.            . Added a check for the existence of a .DEX file before
  1358.              attempting to open it.  This step was missed during
  1359.              the processing of command line parameters.
  1360.  
  1361.            . Fixed several potential problems in the command line
  1362.              parameter interpretation routine.  Fixed problem where
  1363.              ".DEX" was not being appended to parameters that did
  1364.              not have an extension, and added code to convert any
  1365.              parameters to UPPER CASE.
  1366.  
  1367.            . Added code to store any command line parameter(s) into
  1368.              a temporary variable to prevent potential corruption of
  1369.              the command line parameters.
  1370.  
  1371.  
  1372. 10-12-93 ■ Version 1.01
  1373.  
  1374.            . Fixed problem where Infodex could not find the INFODEX.INI
  1375.              file and other various problems, when a set was not found
  1376.              in the AUTOEXEC.BAT, and the directory C:\INFODEX did not
  1377.              exist.  Now, Infodex checks first for an AUTOEXEC.BAT set,
  1378.              then attempts to locate the C:\INFODEX directory, and if 
  1379.              neither of those exist, Infodex will use the current
  1380.              directory.
  1381.  
  1382.            . Fixed problem where the program would crash if a user
  1383.              attempted to search for a record when no records had yet
  1384.              been entered in the database.
  1385.  
  1386.            . Changed method of searching for text.  Now, when F4 is
  1387.              pressed or Search is selected, a dialog box pops up, where
  1388.              the user can enter the text to search for in the first field
  1389.              of each template.  Once OK is selected, search is executed,
  1390.              with result displaying on the screen.
  1391.  
  1392.            . Added error trapping when users attempt to create a new
  1393.              data file to make sure that neither the filename cannot be
  1394.              longer than 8 characters, and the extension cannot be longer
  1395.              than 3 characters.
  1396.  
  1397.            . Clarified text in help fields on New File screen.
  1398.  
  1399.            . Changed headings on Open File screen to read "Open Data File"
  1400.              instead of "Open Project" and "Data Filename:" instead of
  1401.              "Project File:".
  1402.  
  1403.  
  1404. 10-07-93 ■ Version 1.00 
  1405.  
  1406.            . Initial release of Infodex.
  1407.